/*
 * @Description: 二维数组
 * 
 * @Author: rendc
 * 
 * @Date: 2025-07-24 09:14:56
 * 
 * @LastEditors: rendc
 * 
 * @LastEditTime: 2025-07-24 10:14:24
 */

import java.util.Arrays;

public class Test01 {

  public static void main(String[] args) {
    // 一维数组
    int[] arr = new int[2];
    System.out.println("arr:" + arr);
    System.out.println(Arrays.toString(arr));
    // 二维数组
    // 定义方式1
    int[][] arr1 = new int[2][3];
    System.out.println("arr1:" + arr1);
    // 能看到一维数组的引用地址值 不能看到具体内容
    // 访问一维数组
    System.out.println("arr1[0]:" + arr1[0]);
    System.out.println("arr1[1]:" + arr1[1]);
    System.out.println(Arrays.toString(arr1));
    // 访问二维内容 一维数组的值
    System.out.println("arr1[0][0]:" + arr1[0][0]); // 0
    // 写内容
    arr1[0][2] = 2;
    arr1[1][0] = 0;
    arr1[1][1] = 2;
    arr1[1][2] = 5;
    System.out.println("Arrays.toString(arr1[0]):" + Arrays.toString(arr1[0]));
    System.out.println("Arrays.toString(arr1[1]):" + Arrays.toString(arr1[1]));
    // 用for循环访问
    for (int i = 0; i < arr1.length; i++) {
      for (int j = 0; j < arr1[i].length; j++) {
        System.out.println(arr1[i][j]);
      }
    }
    // 定义方式2
    int[][] arr2 = new int[2][];
    System.out.println("arr2:" + arr2);
    // 能看到一维数组的引用地址值 不能看到具体内容
    // System.out.println("arr2[0]:" + arr2[0]);
    // System.out.println("arr2[1]:" + arr2[1]);
    // null,null
    System.out.println(Arrays.toString(arr2));
    arr2[0] = new int[2];
    arr2[1] = new int[5];
    System.out.println(Arrays.toString(arr2));
    System.out.println("arr2[0].length:" + arr2[0].length);
    System.out.println("arr2[1].length:" + arr2[1].length);
    // 静态初始化
    int[][] arr3 = new int[][] { { 1, 2, 3 }, { 2, 3 }, { 3 } };
    // 用for循环访问
    for (int i = 0; i < arr3.length; i++) {
      System.out.print("[");
      // int temp = 1;
      for (int j = 0; j < arr3[i].length; j++) {
        System.out.print(arr3[i][j]);
        // System.out.println("i:" + i);
        // System.out.println("j:" + j);
        // System.out.println("arr.length:" + arr3[i].length);
        // for
        // if (temp < 3) {
        System.out.print(",");
        // 思路0 判断是数组的前几位 加逗号
        // 思路1 判断是数组的最后一位 不加逗号
        // 思路2 字符串截取掉最后一位
        // 思路3 ？
        // temp++;
        // }
      }

      System.out.print("]");
      System.out.println();
    }
  }
  // 自定义一个方法 实现二维数组的遍历输出
  // 思路0 判断是数组的前几位 加逗号
  // 思路1 判断是数组的最后一位 不加逗号
  // 思路2 字符串截取掉最后一位
  // 思路3 ？
}